CI/CD 与团队协作
含义
| 术语 | 说明 |
|---|---|
| CI(持续集成) | 频繁合入主干,自动 构建 + 测试,尽早暴露问题 |
| CD(持续交付) | 通过门禁的制品 可随时发布(人决定何时上线) |
| CD(持续部署) | 门禁通过后 自动部署到环境(含生产,视策略而定) |
同一缩写 CD 可能指交付或部署,沟通时需对齐。
典型流水线
检出代码 → 安装依赖(CI 常用 npm ci)→ Lint / 类型检查 → 测试 → 构建 → 保存制品 → 部署。
作用:质量门禁、节奏可预测、与 Tag / 变更日志可追溯;平台如 GitHub Actions、GitLab CI、Jenkins 等。
与 npm 协作要点
npm ci:需package-lock.json,严格按 lock 安装,适合干净 CI;Yarn/pnpm 用各自的 frozen lockfile 安装方式。- Node 版本:
.nvmrc、engines、CIsetup-node与线上一致。 - 缓存:缓存 npm 缓存目录或 pnpm store,key 随 lock 更新。
- 密钥:Token、部署密钥用 CI Secrets,勿入库;
.npmrc用环境变量注入NPM_TOKEN。 - 发 npm 包:tag 或手动流水线执行
publish,prepublishOnly做构建与测试;站点部署走构建产物上传或容器。
一句话: CI 解决「合并即验证」,CD 解决「验证过即可交付或自动上线」;与本地使用 同一 Node、同一 lock 可减少环境差异。
